package com.Jano.service;

import com.Jano.dto.PageBean;
import com.Jano.dto.ProductCartDto;
import com.Jano.entity.Product;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * description: ProductService <br>
 * date: 2022/6/10 6:47 PM <br>
 * author: zoumaoji <br>
 * version: 1.0 <br>
 */
public interface ProductService {
    /**
     * 把被点击的商品信息的id和点击量存入sortedset集合。
     * @param productId
     * @param clickCount
     */
    void  saveClickCount(Integer productId,Integer clickCount);

    /**
     *更新点击量，并且返回当前最新的点击量
     * @param productId
     * @param clickCount
     */
    long updateClickCount(Integer productId,Integer clickCount);

    /**
     * 计算商品总价并返回
     */
    BigDecimal totalPrice(Map<String, String> carts);

    /**
     * 得到当前所有购物车信息
     */
    List<ProductCartDto> myCarts(Long myCartsNumber,Map<String, String> carts);

    /**
     * 查询指定种类分页显示
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageBean getProductPageInfo(Integer cid,Integer pageNo, Integer pageSize);

    /**
     * 得到指定物品信息
     * @param productId
     * @return
     */
    Product getProductById(Integer productId);
}
